package com.shop.cereshop.agent.page.order;

import com.shop.cereshop.agent.page.product.CartVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @description: TODO
 * @author lx
 * @date 2025/11/11 14:53
 * @version 1.0
 */
@Data
@ApiModel(value = "代理商订单响应")
public class AgentOrderVO {

    @ApiModelProperty(value = "订单id")
    private Long agentOrderId;

    @ApiModelProperty(value = "订单编号")
    private String orderFormid;

    @ApiModelProperty(value = "订单状态：1-待付款，2-已完成，3-已取消")
    private Integer state;

    @ApiModelProperty(value = "支付状态：0-未支付，1-已支付（与state联动，如state=1时pay_state=0）")
    private Integer payState;

    @ApiModelProperty(value = "订单总金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "支付方式：1-余额支付, 2-代金券支付")
    private Integer payMode;

    @ApiModelProperty(value = "支付时间")
    private LocalDateTime payTime;

    @ApiModelProperty(value = "下单人姓名")
    private String customerName;

    @ApiModelProperty(value = "下单人手机号")
    private String customerPhone;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "取消时间")
    private LocalDateTime cancelTime;

    @ApiModelProperty(value = "下单时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "订单类型：1-常规订单，2-代金券订单，3-业务员套餐订单")
    private Integer orderType;

    @ApiModelProperty(value = "套餐名称(只有当order_type=3时有值)")
    private String packageName;

    @ApiModelProperty(value = "代金券城市code(只有当order_type=2时有值")
    private String cityCode;

    @ApiModelProperty(value = "代金券城市名称")
    private String cityName;

    @ApiModelProperty(value = "订单商品明细")
    private List<CartVO> products;

    @ApiModelProperty(value = "订单关闭倒计时")
    private Long closeTime;
}
